load("@prysm//tools/go:def.bzl", "go_library")
load("@io_bazel_rules_go//go:def.bzl", "go_test")

go_library(
    name = "go_default_library",
    srcs = [
        "attester_slashings.go",
        "backup.go",
        "block_header.go",
        "chain_data.go",
        "highest_attestation.go",
        "indexed_attestations.go",
        "kv.go",
        "log.go",
        "proposer_slashings.go",
        "schema.go",
        "spanner_new.go",
        "validator_id_pubkey.go",
    ],
    importpath = "github.com/prysmaticlabs/prysm/slasher/db/kv",
    visibility = ["//slasher:__subpackages__"],
    deps = [
        "//beacon-chain/core/helpers:go_default_library",
        "//proto/slashing:go_default_library",
        "//shared/bytesutil:go_default_library",
        "//shared/fileutil:go_default_library",
        "//shared/hashutil:go_default_library",
        "//shared/params:go_default_library",
        "//slasher/cache:go_default_library",
        "//slasher/db/types:go_default_library",
        "//slasher/detection/attestations/types:go_default_library",
        "@com_github_gogo_protobuf//proto:go_default_library",
        "@com_github_pkg_errors//:go_default_library",
        "@com_github_prometheus_client_golang//prometheus:go_default_library",
        "@com_github_prometheus_client_golang//prometheus/promauto:go_default_library",
        "@com_github_prysmaticlabs_eth2_types//:go_default_library",
        "@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library",
        "@com_github_sirupsen_logrus//:go_default_library",
        "@io_etcd_go_bbolt//:go_default_library",
        "@io_opencensus_go//trace:go_default_library",
    ],
)

go_test(
    name = "go_default_test",
    srcs = [
        "attester_slashings_test.go",
        "backup_test.go",
        "benchmark_test.go",
        "block_header_test.go",
        "chain_data_test.go",
        "highest_attestation_test.go",
        "indexed_attestations_test.go",
        "kv_test.go",
        "proposer_slashings_test.go",
        "spanner_new_test.go",
        "validator_id_pubkey_test.go",
    ],
    embed = [":go_default_library"],
    deps = [
        "//beacon-chain/core/helpers:go_default_library",
        "//proto/slashing:go_default_library",
        "//shared/bytesutil:go_default_library",
        "//shared/params:go_default_library",
        "//shared/testutil:go_default_library",
        "//shared/testutil/assert:go_default_library",
        "//shared/testutil/require:go_default_library",
        "//slasher/db/types:go_default_library",
        "//slasher/detection/attestations/types:go_default_library",
        "@com_github_prysmaticlabs_eth2_types//:go_default_library",
        "@com_github_prysmaticlabs_ethereumapis//eth/v1alpha1:go_default_library",
        "@com_github_sirupsen_logrus//:go_default_library",
        "@in_gopkg_d4l3k_messagediff_v1//:go_default_library",
    ],
)
